<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:t="http://com.ss.stockmanager/jsf"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

	<body>
	
				<h:panelGrid id="cargaRemito" columns="1" rendered="#{ordenDeCompraController.addEditDispatch}" >



				<h:panelGrid id="cargaDeRemitos" columns="1"  >
					 
					 <p:fieldset legend="Informacion Orden de compra" style="margin-bottom:20px">
						
						<p:panelGrid>

							<f:facet name="header">
								<p:row>
									<p:column><h:outputText value="Nro Orden de Compra" /></p:column>
									<p:column><h:outputText value="Fecha Orden de Compra" /></p:column>
									<p:column><h:outputText value="Proveedor" /></p:column>
									<p:column><h:outputText value="Cantidad" /></p:column>
									<p:column><h:outputText value="Total" /></p:column>
								</p:row>
							</f:facet>
							
							<p:row>
								<p:column>
									<h:outputText value="#{ordenDeCompraController.ordenDeCompraView.numeroOrdenDeCompra}">
									</h:outputText>
								</p:column>
								<p:column>
									<h:outputText value="#{ordenDeCompraController.ordenDeCompraView.fechaOrdenDeCompra}">
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</p:column>
								<p:column>
									<h:outputText value="#{ordenDeCompraController.ordenDeCompraView.proveedorView.nombre}">
									</h:outputText>
								</p:column>
								<p:column>
									<h:outputText value="#{ordenDeCompraController.granTotalCantidad}">
										<f:convertNumber pattern="###,###.00" />
									</h:outputText>
								</p:column>
								<p:column>
									<h:outputText value="#{ordenDeCompraController.granTotalPrecio}">
										<f:convertNumber pattern="$###,###.00" />
									</h:outputText>
								</p:column>
							</p:row>
						</p:panelGrid>
					</p:fieldset>

					<p:fieldset legend="Datos del remito" style="margin-bottom:20px;">
					
						<h:outputText value="Numero de remito" style="margin-right:10px;" />
						<p:inputText value="#{ordenDeCompraController.remitoView.numeroRemito}" 
									label="Numero de remito"
									disabled="true" 
									style="margin-right:25px;"
									process="@this cargaDeRemitos"
									update=":form:cargaDeRemitos" />
					
						<h:outputText value="Fecha remito" style="margin-right:10px;" />
						<p:calendar id="fechaRemito"
									disabled="true"
									label="Fecha de remito"
									value="#{ordenDeCompraController.remitoView.fechaRemito}" mode="popup"
									showOn="button" locale="es"
									pattern="#{msgs.common_inputDateFormat}"
									readOnlyInputText="false" navigator="true"
									yearRange="c-100:c+50"
									converterMessage="El formato de la fecha es incorrecto" >
						</p:calendar>
					
					</p:fieldset>

					<p:fieldset legend="Productos incluidos en la Orden de compra" style="margin-bottom:20px">					
						<p:dataTable id="dataTableProduct" var="prod" rowIndexVar="rowIndex" style="width:800px;"
									value="#{ordenDeCompraController.ordenDeCompraView.listaDetalleOrdenDeCompraView}" 
								emptyMessage="No se encontraron registros" >

							<p:column headerText="Nro Linea" style="width:40px;text-align:center;">
								#{rowIndex+1}
							</p:column>								
							<p:column headerText="Producto" style="width:200px;text-align:center;">
								<h:outputText value="#{prod.productoView.detalle}" />
							</p:column>								
							<p:column headerText="Cantidad" style="width:40px;text-align:center;">
								<h:outputText value="#{prod.cantidad}" />
							</p:column>	

							<p:column headerText="Stock disponible" style="width:40px;text-align:center;">
								<h:outputText value="#{ordenDeCompraController.obtenerStockDeUnProducto(prod.productoView.id)}" />
							</p:column>	
							
							<p:column headerText="Cantidad a despachar" style="width:40px;text-align:center;">
								<p:inputText value="#{prod.cantidadRemito}" style="width:95%;" label="Cantidad a despachar">
									<f:validator validatorId="doubleValidator" />
								</p:inputText>
							</p:column>								
						</p:dataTable>					
					</p:fieldset>
					
					<h:panelGrid columns="2">
						<p:commandButton value="Ingresar remito"
							actionListener="#{ordenDeCompraController.addDispatch}"
							update=":form:dispatch :form:messages :form:cargaDeRemitos" >
						</p:commandButton>
					</h:panelGrid>
					
				</h:panelGrid>

				<h:panelGrid id="dispatch" columns="1">
						
						<p:dataTable id="dataTableDispatch" var="disp" rowIndexVar="rowIndex"
							value="#{ordenDeCompraController.ordenDeCompraView.listaDeRemitos}" 
							emptyMessage="No se encontraron registros" >

								<f:facet name="header">
									REMITOS ASOCIADOS A LA ORDEN DE COMPRA <h:outputText value="#{ordenDeCompraController.ordenDeCompraView.numeroOrdenDeCompra}" />
								</f:facet>
	
								<p:column style="width:16px; background-color:#CEE3F6;">
									<p:rowToggler />
								</p:column>
	
								<p:column headerText="Nro Linea" style="width:40px;text-align:center;background-color:#CEE3F6;">
									#{rowIndex+1}
								</p:column>
								<p:column style="background-color:#CEE3F6;">
									<f:facet name="header">
										<h:outputText value="Numero de remito" />
									</f:facet>
									<div align="right"><h:outputText value="#{disp.numeroRemito}" /></div>
								</p:column>
								<p:column style="background-color:#CEE3F6;">
									<f:facet name="header">
										<h:outputText value="Fecha remito" />
									</f:facet>
									<div align="right"><h:outputText value="#{disp.fechaRemito}" >
															<f:convertDateTime pattern="dd-MM-yyyy" />
														</h:outputText></div>
								</p:column>
								<p:column style="background-color:#CEE3F6;">
									<f:facet name="header">
										<h:outputText value="Estado" />
									</f:facet>
									<div align="right"><h:outputText value="#{disp.estado}" >
														</h:outputText></div>
								</p:column>
								<p:column style="background-color:#CEE3F6;width:150px;">
									<f:facet name="header">
										<h:outputText value="Accion" />
									</f:facet>
									<div align="center">
										<p:commandButton action="#{ordenDeCompraController.aprobarRemito(disp.numeroRemito)}" 
														 value="Aprobar remito"
														 disabled="#{disp.estado=='APROBADO'}"
														 process="@this dataTableDispatch"
														 update=":form">
										</p:commandButton>
									</div>
								</p:column>

								<p:rowExpansion>
									<p:dataTable var="detalle" value="#{disp.detalleRemitoView}" rowIndexVar="rowIndexLine">
										<p:column headerText="Nro Linea" style="text-align:center;">
											#{rowIndexLine+1}
										</p:column>									
										<p:column headerText="Codigo Producto Proveedor" style="text-align:center;">
											<h:outputText value="#{detalle.productoCodigoView.codigoProveedor}" />
										</p:column>									
										<p:column headerText="Codigo Producto" style="text-align:center;">
											<h:outputText value="#{detalle.productoCodigoView.producto.codigoProducto}" />
										</p:column>									
										<p:column headerText="Cantidad" style="text-align:right;">
											<h:outputText value="#{detalle.cantidad}" >
												<f:convertNumber pattern="###,###.00" />
											</h:outputText>
										</p:column>									

										<p:columnGroup type="footer">
										  <p:row>
											<p:column colspan="3" footerText="Total:" style="text-align:right;color:#B40431;" />
											<p:column style="text-align:right;color:#B40431;">
												<f:facet name="footer">
													<h:outputText value="#{disp.getTotalRemito()}">
														<f:convertNumber pattern="###,###.00" />
													</h:outputText>
												</f:facet>	
											</p:column>
										  </p:row>
										</p:columnGroup>

									</p:dataTable>
								</p:rowExpansion>
								
							</p:dataTable>

							
					</h:panelGrid>

					<h:panelGrid columns="2">
						<p:commandButton value="Volver"
							actionListener="#{ordenDeCompraController.cancel}" immediate="true"
							update=":form">
						</p:commandButton>
					</h:panelGrid>
					
				</h:panelGrid>
				
</body>
</html>

